/*
HTTPClient库用于HTTP协议通讯。通过ESP8266HTTPClient库，
我们可以使用ESP8266利用互联网或局域网向网络服务器发送HTTP请求，
并且分析网络服务器返回的HTTP响应信息，从而实现物联网应用。

ESP8266库中还有一个专门用于TCP通讯的WiFiClient库。由于HTTP协议是建立在TCP协议基础之上的，
我们也可以使用WiFiClient库来实现HTTP通讯。在这一点上，ESP8266HTTPClient库与WiFiClient库在功能上形成了互补。
*/
#include <ESP8266WiFi.h>
#include "postdata.h"


const char *ssid     = "CU_bRbv";           // wifi的ssid
const char *password = "xrfgwxtm";      // wifi密码

// 用固态IP方式接入本地WIFI，提高接收速度和可靠性
IPAddress staticIP(192,168,1,9);       // 静态IP
IPAddress gateway(192,168,1,1);         // 网关
IPAddress subnet(255,255,255,0);        // 子网掩码

// DHCP给你随机分配IP   --->  192.168.0.2--  192.168.0.255
void setup(void)
{
    // 串口波特率
    Serial.begin(115200);
    Serial.println();
    Serial.printf("Wifi Connecting to %s\n", ssid);

    WiFi.mode(WIFI_STA);                            // 默认情况下，ESP8266将尝试充当客户端和接入点。为避免干扰现有WIFI网络，明确将其设置为WiFi客户端。
    WiFi.begin(ssid, password);                     // 启动Wifi连接
    WiFi.config(staticIP, gateway, subnet);         // 使用固定IP方式


    while (WiFi.status() != WL_CONNECTED)           // 阻塞式等待，直到连接成功
    {
        delay(500);                                 // 每500MS检测一次，一直到连接成功
        Serial.print(".");
    }

    Serial.println();
    Serial.print("WiFi Connected OK, IP address: ");  // 显示WIFI连接成功获取的本地IP
    Serial.println(WiFi.localIP());
    Serial.println(WiFi.subnetMask());
    Serial.println(WiFi.gatewayIP());
}

void loop()
{
    // 用HTTPClient发送POST请求
    // 写起来比较简洁
    HTTPClient_POST("30");
    delay(2000);

}
